草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

php - 在 MySQL 中使用 distinct 函数

这听起来像是一个奇怪的问题,但我正在尝试使用distinct子句来获取数据库中的所有名称,但是我希望名字是唯一的表结构idfnamelnamehaircolor1johndoebrown2bobseagalblonde3kevinsmithred4bobdoegreenDesiredoutputjohndoebrownbobseagalblondekevinsmithredIhavetriedSELECTfname,lname,haircolorFROMMainTableINNERJOIN(selectdistinctframefromMainTable)asNamesONMainTa

MySQL SELECT from multiple tables, multiple GROUP BY and group_concat?

我想在MySQ中查询三个表。如下:**Table:Leaderboard**Name|Score------------James|1Steve|2Dave|5**Table:Actions**Name|Action|Time----------------------------James|Ateanapple|01:00James|Kickedadog|02:00Steve|Ateadog|03:00Steve|Kickedahen|01:00Dave|died|02:00**Table:Items**Name|Item|Time--------------------------

php - SELECT DISTINCT 名称但返回所有数据

所以我有一张满是汽车的table:假设有4辆道奇毒蛇,数据库中将有4个条目,除了carID之外都相同。carID|carname|carmodel|colour|reg--------------------------------------------------1|viper|dodge|red|1232|viper|dodge|red|1243|viper|dodge|red|1254|viper|dodge|red|1265|R8|audi|blue|1276|R8|audi|blue|128当用户搜索汽车时,我只想显示一辆道奇毒蛇。但是,我想从该行以及其他所有不同的汽车中提

mysql - 在 MySQL 查询中,DISTINCT 是在 GROUP BY 之前还是之后应用的?

下面是我正在运行的查询。DISTINCT是在GROUPBY之前还是之后应用?表格如下所示:id,stateid不是唯一的,一个实体可以有多个状态相同或不同的条目。这种行为可能会彻底改变我的结果。如果在GROUPBY之前应用DISTINCT,那么在整个集合中它只会对每个entity计数一次(只会出现在一个状态)。如果它发生在之后,那么每个实体在每个状态中只会被计算一次,但可以在多个状态中被计算。SELECTstate,COUNT(DISTINCTentity_id)AScountFROMentitiesGROUPBYstateORDERBYcountDESC;我的目标是在每个state中

sql - MySQL - Where IN 与 GROUP_CONCAT 一起

IN()中使用的查询返回:1,2。然而,整个查询返回0行,这是不可能的,因为它们存在。我在这里做错了什么?SELECTDISTINCTli.auto_idFROMlinksASliJOINgroup_dataASgiONli.auto_id=gi.autoidANDli.user_id=gi.useridWHEREgi.groupidIN(SELECTCAST(GROUP_CONCAT(gf.groupid)ASCHAR)FROMgroup_followersASgfWHEREgf.userid_ext='1'GROUPBYgf.userid_ext)ANDli.keywordLIKE

mysql - 在 IN 子句中使用 GROUP_CONCAT 结果 Mysql

我有一个返回逗号分隔整数的查询喜欢:selectGROUP_CONCAT(ids)fromtable2现在我想在另一个查询中使用该结果喜欢:select*fromtable1wherecolumnin(selectGROUP_CONCAT(ids)fromtable2)在这种情况下,它只会考虑IN子句中的第一个值。 最佳答案 我同意@Alma的观点,这不能用IN来完成,你可以用FIND_IN_SET来完成。,但如果你能用IN做到这一点,那可能是更好的方法:SELECT*FROMtable1WHEREfind_in_set(ids,(

sql - MySQL JOIN/GROUP_CONCAT 第二张表?

所以我有一个完美的查询:SELECTusers.*,GROUP_CONCAT(categories.category_name)AScategoriesFROMusersLEFTOUTERJOINuser_categoriesONusers.user_id=user_categories.user_idLEFTOUTERJOINcategoriesONuser_categories.category_id=categories.category_idWHEREusers.user_city='brooklyn'GROUPBYusers.user_idLIMIT10;假设我有另一个包含电

MySQL:是否可以 group_concat 多行?

这是我想要的:attribute_nameattribute_idattribute_value--------------------------------------------------------------------Appliances16,17,18,19Washer,Dryer,Dishwasher,MicrowaveConsoles7,3PS3,XBox这接近于我所拥有的:attribute_nameattribute_idattribute_value-------------------------------------------------Applian

php - 不使用 GROUP_CONCAT 的原因?

我刚刚发现了这个非常有用的MySQL函数GROUP_CONCAT。它对我来说是如此有用和过度简化,以至于我实际上害怕使用它。主要是因为自从我开始网络编程以来已经有一段时间了,而且我从未在任何地方见过它。下面是一个很棒的用法示例clients表包含客户(您不会说...),每个客户一行,具有唯一ID。表currencies有3列client_id、currency和amount。现在,如果我想从clients表中获取用户15的name及其余额,使用“旧”数组覆盖方法,我必须使用以下SQLSELECTid,name,currency,amountFROMclientsLEFTJOINcurr

mysql - 'IS DISTINCT FROM' 是真正的 MySQL 运算符吗?

在一本书中我看到了这样的语法:SELECT*FROMinwWHEREidISDISTINCTFROM4;但是我得到一个错误:ERROR1064(42000):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'DISTINCTFROM4'atline1它是一个替代品:mysql>SELECT*FROMinwWHEREidisnullORid4;+------+|id|+------+|NULL||NULL||3|+---